package cn.design.realize;

/**
 * @author dlq
 * @description 非终结表达式角色(Nonterminal Expression)：文法中的每一条规则都需要一个具体的非终结符表达式，非终结符表达式一般是文法中的运算符或者其他关键字，比如公式R=R1+R2中，+就是非终结符，解析+的解释器就是一个非终结符表达式
 *              加法 非终结表达式角色
 *              在这个 会定义 变量 right 和left （a +b） + 的左右边
 * @date 2020/9/29 10:44
 * @since 1.0
 */
public class AddNonTerminalExpression extends Expression{

    private Expression right;
    private Expression left;

    public AddNonTerminalExpression(Expression right, Expression left) {
        this.right = right;
        this.left = left;
    }

    @Override
    public int interpret(Context context) throws Exception {
        return right.interpret(context) +left.interpret(context);
    }
}
